#ifndef APP_APPLICATION_HPP_
#define APP_APPLICATION_HPP_

#include <aer.hpp>
#include "Terrain.hpp"
#include "SkyDome.hpp"


class Application : public aer::Application
{
  private:
    aer::FreeCamera *m_camera;
    Terrain m_terrain;
    SkyDome m_skyDome;
    
    
  public:
    Application();
    
    ~Application()
    {
      AER_SAFE_DELETE( m_camera );
    }
    
    void resize(const aer::U32 width, const aer::U32 height);
    void updateFrame();
    void drawFrame();
  
};


#endif // APP_APPLICATION_HPP_
